Contrary to television broadcasts which are waning or stagnating in viewership, the viewership of content over Internet Protocol (IP) networks is continually increasing. This is due to many factors including the increasing availability of major content provider and television network content on the IP networks and the breadth of user content that individuals upload and share via video-sharing sites. IP networks also allow for on-demand content viewing and often provide digital video recorder (DVR) like functionality (e.g., rewinding, pausing, fast-forwarding, etc.). Moreover, content delivered through IP networks can be customized on a per user basis while allowing the user to view the content wherever and whenever the user wants using any device with wired or wireless network connectivity.
The increased viewership is placing greater demand on IP network resources. One of the primary reasons for the increased demand is the reliance of content distributors on unicast based transmission. As is well known, unicast is a one-to-one transmission methodology, whereby one copy of content is passed between one source and only one destination. Even if the same content is requested from the same source by a different destination, a new copy of the content will be passed from the source to the different destination over a unique connection or session established between the source and destination. Consequently, unicast produces a linear increase in the demand that is placed on IP networks for each additional stream or item of content that is delivered to a user.
Multicast provides a one-to-many transmission of content. A source is the origin for a multicast group and streams the packets encapsulating content to one or more hosts and routers that have joined the multicast group. These hosts and routers then fan-out the packets to other hosts and routers that join the multicast group until the packets arrive at users that have also joined the multicast group. Specifically, the users receive the packets from a host or router in the multicast group that is closest to them rather than from the origin directly. Multicast is an efficient transmission methodology because it requires little to no overhead once the multicast group is configured. Hosts and routers that have joined the multicast group perform little or no processing on the multicast group packets and simply forward those packets to other group members that join the group through the host or router.
While efficient in streaming the same content to many users, many content distributors pass over multicast in favor unicast, because multicast, in its standard form, is unable to offer the same viewing and functional advantages that a one-to-one connection between a user and a content source affords. A first shortcoming is that the one-to-many transmission methodology of multicast prevents a content source from offering users the ability to start the stream whenever they want. It further restricts the content source from offering DVR-like functionality such that users could rewind, fast-forward, or pause the transmission of the stream as they please. Another shortcoming is that the one-to-many transmission methodology of multicast prevents a content source from optimizing and customizing the stream on a per user basis. Through unicast, the content distributor can offer the stream in multiple bit rates and adjust the stream per user depending on the network connectivity to the user and capabilities of the user device. Also through unicast, the content distributor can change advertising accompanying the stream on a per user basis so that the content can itself be customized on a per user basis. Multicast requires that the same content with the same advertisements be presented to all users in the multicast group.
However, as noted above, the increased demand being placed on IP networks and the increased popularity of content viewership over IP networks are forcing a transition away from strictly streaming content using unicast, especially in the case of largely viewed live events. Accordingly, there is a need to preserve many of the added functionality afforded by unicast, while preserving the large scale streaming efficiencies afforded by multicast.